Archivist is a tool for analyzing your past via Facebook archives. Work in progress. Upload a .zip folder archive from Facebook, and Archivist will display every message you've ever sent or received. What could possibly go wrong with this information?

You can also search through messages and conversations, and filter to specific years/senders.
This builds on a previous experiment that I built, 'A Brief Memory', which you can view here
Archivist currently:
- Allows you to select a Facebook archive read how to archive your Facebook information
- Extracts the directory to a temporary file location on your local machine
- Searches for all message and timeline posts in the archive within
your_facebook_activity
and generates a single JSON file with all of the message and timeline content - Creates a searchable table of all messages and timeline posts
- Lets you query messages from a local large language model (if you have Ollama setup)
Future work includes:
- Making a nice overview page of your message history year by year
- Visualizing your timeline
- Maybe something to do with photos? TBD. Let me know in the comments. Don't forget to like and subscribe.
Archivist is built with Tauri v2. It is a Rust + Vite + React application that uses Tailwind for styling. The LLM agent capability is built assuming you have an Ollama server running on http://localhost:11434/. It is currently using Qwen2.5 but you can change the following in App.jsx to use a different endpoint:
const response = await fetch("http://localhost:11434/api/generate", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "qwen2.5",
prompt: `${context}\n\n${agentInput}`,
stream: false,
}),
});

Building Archivist:
- Install Rust
- Clone the GitHub repo
- Run
npm install
npm run tauri dev
- Development build
npm run tauri build
- Generate release build
Archivist has a --no-cache flag that can optionally be passed into the CLI, which can be useful for testing purposes.